from libnum import *

e = 65537
n = 156808343598578774957375696815188980682166740609302831099696492068246337198792510898818496239166339015207305102101431634283168544492984586566799996471150252382144148257236707247267506165670877506370253127695314163987084076462560095456635833650720606337852199362362120808707925913897956527780930423574343287847
c = 108542078809057774666748066235473292495343753790443966020636060807418393737258696352569345621488958094856305865603100885838672591764072157183336139243588435583104423268921439473113244493821692560960443688048994557463526099985303667243623711454841573922233051289561865599722004107134302070301237345400354257869
dp = 734763139918837027274765680404546851353356952885439663987181004382601658386317353877499122276686150509151221546249750373865024485652349719427182780275825
for x in range(1, e):
    if (dp*e-1)%x == 0:
        p = (dp*e-1)//x+1
        if n%p != 0:
            continue
        q = n//p
        break
 
# print(p,q)
# p = 12847964754765427496399764780328918622503990027015223921752369659611143245908239173177604049265523011184163182090867099853786582101440246414647619495980989
# q = 12204917011499204793467396627331950459243603269732530719870032567474409945243640569351016419835483810515390876443640549604664275934407520354979414742015923
d = invmod(e, (p-1)*(q-1))
m = pow(c, d, n)
flag = n2s(m).decode()
print(flag)   # wctf2020{dp_leaking_1s_very_d@angerous}